package main

import "fmt"

func main() {
	ch := make(chan int)

	go func() {
		for i:=0;i<5;i++ {
			ch<-i
		}

		//关闭通道
		close(ch)
	}()

	//for data := range ch {
	//	fmt.Println(data)
	//}

	//当通道为空或者关闭时,ok会返回false.ok为true说明管道未关闭
	//chan关闭后不可像通道里继续写数据,但可以读数据
	for {
		if num, ok := <-ch; ok == true {
			 fmt.Println(num)
		} else {
			break;
		}
	}
	fmt.Println("finished")
}
